import request from '@/config/axios'

// 模型 VO
export interface LargeModelVO {
  id: number // ID
  name: string // 模型名称
  type: number // 模型类型： 0 行业大模型，1 通用大模型 2 内置大模型
  paramNum: number // 模型参数量
  apiName: string // API名称
  apiVersion: string // API版本
  apiAddress: string // API地址
  apiMethod: string // API请求方式
  platform: string // 模型平台
  appId?: number // appId
  model: string // 语言模型
}

// 模型 API
export const LargeModelApi = {
  // 查询模型分页
  getLargeModelPage: async (params: any) => {
    return await request.get({ url: `/multiModel/large-model/page`, params })
  },

  // 查询模型详情
  getLargeModel: async (id: number) => {
    return await request.get({ url: `/multiModel/large-model/get?id=` + id })
  },

  // 新增模型
  createLargeModel: async (data: LargeModelVO) => {
    return await request.post({ url: `/multiModel/large-model/create`, data })
  },

  // 修改模型
  updateLargeModel: async (data: LargeModelVO) => {
    return await request.put({ url: `/multiModel/large-model/update`, data })
  },

  // 删除模型
  deleteLargeModel: async (id: number) => {
    return await request.delete({ url: `/multiModel/large-model/delete?id=` + id })
  },

  // 导出模型 Excel
  exportLargeModel: async (params) => {
    return await request.download({ url: `/multiModel/large-model/export-excel`, params })
  },

  // 修改模型状态
  updateLargeModelStatus: async (data) => {
    return await request.put({ url: `/multiModel/large-model/update-status`, data })
  },
  // 查询模型列表
  getLargeModelList: async (params: any) => {
    return await request.get({ url: `/multiModel/large-model/list`, params })
  },

  // 新增模型
  testLargeModel: async (data:any) => {
    return await request.post({ url: `multiModel/large-model/test`, data })
  }
}
